#ifndef FIRSTHEADER_H
#define FIRSTHEADER_H

#ifdef __GNUC__
	#pragma GCC diagnostic ignored "-Wsign-compare"
#endif

#ifdef _DEBUG

	#include <cassert>
	#define ASSERT( expr, err_msg ) 			\
		if( !( expr ) )					\
			std::cerr << "[ERROR MESSAGE]: " 	\
				  << (err_msg) << std::endl;	\
		assert( expr )
	#define PRE_CONDITION( expr ) 	assert( expr )
	#define POST_CONDITION( expr ) 	assert( expr )

#else

	#define ASSERT( expr, err_msg )
	#define PRE_CONDITION( expr )
	#define POST_CONDITION( expr )

#endif

#endif //! FIRSTHEADER_H